Initial Specification of a Language Extension with Types and Type Checking

نویسندگان

  • Tim Furche
  • Sacha Berger
چکیده

Types are a useful mechanism for early error detection and optimization of any programming language. Semi-structured query evaluation as in Xcerpt needs to be able to cope without schema information or types, in contrast to the relational case. Nevertheless, if available, type information enables query optimization well beyond what is possible in its absence. Furthermore, since semi-structured data such as XML allows diverging types, querying by type becomes a desirable feature of XML query languages, cf. XQuery’s typed queries. In this deliverable, we discuss joint work with I3 on typing in the Xcerpt language. The two working groups have jointly developed two approaches for extending Xcerpt with type information and type checking: The first is guided by the principle of least interference, providing typing for Xcerpt without any changes to the language itself. Type annotations for data and programs is provided by external means. It uses an abstraction of standard XML schema languages such as DTDs and XML schema as tree schemata. The second integrates closely with Xcerpt programs allowing finer granular type annotations. It is also unique in the support for graph schemata rather than tree schemata, allowing type checking also for Xcerpt references. To support type checking with graph schemata, a novel schema language, called R2G2 is introduced that allows for the description of graph schemata. Keyword List types, constraints, type checking, inference, Xcerpt Project co-funded by the European Commission and the Swiss Federal Office for Education and Science within the Sixth Frame-

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Type inference and strong static type checking for Promela

The SPIN model checker and its specification language Promela have been used extensively in industry and academia to check logical properties of distributed algorithms and protocols. Model checking with SPIN involves reasoning about a system via an abstract Promela specification, thus the technique depends critically on the soundness of this specification. Promela includes a rich set of data ty...

متن کامل

Type and Effect Systems

The design and implementation of a correct system can benefit from employing static techniques for ensuring that the dynamic behaviour satisfies the specification. Many programming languages incorporate types for ensuring that certain operations are only applied to data of the appropriate form. A natural extension of type checking techniques is to enrich the types with annotations and effects t...

متن کامل

A Specification Language for Crypto-Protocols based on Multiset Rewriting, Dependent Types and Subsorting

MSR is an unambiguous, flexible, powerful and relatively simple specification framework for crypto-protocols. It uses multiset rewriting rules over first-order atomic formulas to express protocol actions and relies on a form of existential quantification to symbolically model the generation of nonces and other fresh data. It supports an array of useful static checks that include type-checking a...

متن کامل

Hybrid Types, Invariants, and Refinements For Imperative Objects

To control the complexity of large object-oriented systems, objects should communicate via precisely-specified interfaces. Static type checking catches many interface violations early in the development cycle, but decidability limitations preclude checking all desired properties statically. In contrast, dynamic checking supports expressive specifications but may miss errors on execution paths t...

متن کامل

Executable Refinement Types

Executable Refinement Types by Kenneth L. Knowles Precise specifications are integral to effective programming practice. Existing specification disciplines such as structural type systems, dynamic contracts, and extended static checking all suffer from limitations such as imprecision, false positives, false negatives, or excessive manual proof burden. New ways of expressing and enforcing progra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008